<!--注意id属性每个页面id必须独立，lay-title为当前页面的标题属性-->
<div class="layui-fluid layui-anim febs-anim" id="hr-hrDept" lay-title="部门管理">
    <div class="layui-row febs-container">
        <div class="layui-col-md12">
            <div class="layui-card">
                <div class="layui-card-body febs-table-full">
                    <!--注意lay-filter属性，该属性为form表单唯一属性-->
                    <form class="layui-form layui-table-form" lay-filter="hrDept-table-form">
                        <!--fieldset为区分搜索区域-->
                        <fieldset class="layui-elem-field layui-field-title" style="margin-top: 10px;">
                            <legend style="font-size: 15px; font-weight: bolder;">批量查询</legend>
                        </fieldset>
                        <div class="layui-row">
                            <!-- 查询信息 -->
                            <div class="layui-col-md11">
                                <!-- layui-form-item为自适应长度样式 -->
                                <div class="layui-form-item">
                                    <!-- layui-inline样式为单行多控件 -->
                                    <div class="layui-inline">
                                        <label class="layui-form-label layui-form-label-sm">部门名</label>
                                        <div class="layui-input-inline">
                                            <!-- 注意name属性于定义的实体类属性一致，placeholder设置提示用语-->
                                            <!-- maxlength设置最大长度-->
                                            <input type="text" name="deptName" autocomplete="off" class="layui-input"
                                                    minlength="0" maxlength="20">
                                        </div>
                                    </div>
                                </div>
                            </div>

                            <!-- 查询重置按钮 -->
                            <!-- 注意id属性 用于绑定JS事件-->
                            <div class="layui-col-md1 layui-col-sm12 layui-col-xs12 table-action-area">
                                <div class="layui-btn layui-btn-sm layui-btn-primary febs-button-blue-plain
                                            table-action" id="hr-hrDept-query-btn">
                                    <i class="layui-icon">&#xe848;</i>
                                </div>
                                <div class="layui-btn layui-btn-sm layui-btn-primary febs-button-green-plain
                                            table-action" id="hr-hrDept-reset-btn">
                                    <i class="layui-icon">&#xe79b;</i>
                                </div>
                            </div>
                        </div>
                    </form>

                    <!-- 表格 -->
                    <!-- 注意lay-filter和id属性，两者需保持一致 用于绑定JS事件-->
                    <table lay-filter="hr-hrDept-hrDept-table"
                           lay-data="{id: 'hr-hrDept-hrDept-table'}"></table>
                </div>
            </div>
        </div>
    </div>
</div>

<!-- 列表头部工具栏 -->
<!-- 注意id属性，列表初始化的时候加载列表头部工具栏-->
<script type="text/html" id="hr-hrDept-hrDept-toolbar">
    <div class="layui-row">
        <!-- 注意id属性，用于绑定JS事件-->
        <button class="layui-btn layui-btn-sm layui-btn-primary febs-button-green-plain
                                            table-action" id="hr-hrDept-sync-btn">
            <i class="layui-icon">&#xe79b;同步</i>
        </button>
        上次同步时间：
        <span id="lastUpdateTime">[[${#strings.defaultString(updateDate,  '未同步')}]]</span>
    </div>
</script>

<script data-th-inline="none" type="text/javascript">
    layui.use(['dropdown', 'jquery', 'form', 'table', 'febs'], function () {
        let $ = layui.jquery,
            febs = layui.febs,
            form = layui.form,
            table = layui.table,
            // 定义页面视图
            $view = $('#hr-hrDept'),
            // 定义查询按钮
            $query = $view.find('#hr-hrDept-query-btn'),
            // 定义重置按钮
            $reset = $view.find('#hr-hrDept-reset-btn'),
            // 定义form表单
            $searchForm = $view.find('form'),
            // 定义表格排序
            sortObject = {field: 'address', type: null},
            tableIns;

        // 表单渲染
        form.render();

        // 调用列表初始化方法
        initTable();

        // 查询按钮点击事件
        $query.on('click', function () {
            // 获得页面检索条件
            let params = $.extend(getQueryParams(), {field: sortObject.field, order: sortObject.type});
            // 重新加载列表
            tableIns.reload({where: params, page: {curr: 1}});
        });
        //同步按钮点击事件
        $view.on('click', '#hr-hrDept-sync-btn', function () {
            $.ajax({
                type: 'get',
                url: 'hrDeptController/deptList',
                success: function (res) {
                    console.log(res.data);
                    lastUpdateTime1 = res.data;
                    if (res) {
                        $('#hr-hrDept-reset-btn').trigger('click');
                        febs.alert.success("数据同步成功");
                        $("#lastUpdateTime").html(lastUpdateTime1);
                    }else {
                        febs.alert.error("拉取失败");
                    }
                    return false;
                }
            });
        })



        // 在个位数的时间前加0
        function formatZero(n){
            if(n >= 0 && n <= 9){
                return "0"+n;
            }else{
                return n;
            }
        }

        // 重置按钮点击事件
        $reset.on('click', function () {
            // 清空表单信息
            $searchForm[0].reset();
            sortObject.type = 'null';
            // 重新加载表格数据
            tableIns.reload({where: getQueryParams(true), page: {curr: 1}, initSort: sortObject});
        });

        // 初始化数据表格
        function initTable() {
            tableIns = febs.table.init({
                // 当前视图的table
                elem: $view.find('table'),
                // 列表ID
                id: 'hr-hrDept-hrDept-table',
                // 访问路由
                url: ctx + 'hrDeptController/findList',
                // 配置列表顶部工具栏
                toolbar: '#hr-hrDept-hrDept-toolbar',
                // 配置列表顶部右侧显示列过滤项
                defaultToolbar: ['filter'],
                // 表格渲染完毕后的回调
                done: function (res, curr, count) {
                    // 调整表格在页面占比
                    $("table").css("width", "100%");
                },
                width: "100%",
                // field属性为返回实体类中相关属性名，title为表格列头显示内容，minWidth为表格列最小宽度，maxWidth为表格列最大宽度
                cols: [[
                    {field: 'id', title: 'ID', width: 50},
                    {field: 'deptName', title: '部门名', width: 100},
                    {field: 'parentName', title: '上级部门', width: 100},
                    {field: 'departmentLeader', title: '部门负责人', width: 300},
                    {field: 'lastModifyDate', title: '最后同步时间', width: 300}
                ]]
            });
        }

        // 获得form表单中查询条件并格式化为JSON格式
        function getQueryParams(flag) {
            let params = $searchForm.serializeJson();
            return params;
        }

        //按回车搜索
        $(".layui-input").keyup(function (e) {
            //当按下按键时
            //.which属性判断按下的是哪个键，回车键的键位序号为13
            if (e.which == 13) {
                $query.click();
            }
        });
    })
</script>
